package com.ffzl.cloud.utils;

import com.ffzl.cloud.http.response.UserInfoBean;
import com.ffzl.cloud.interfacenum.ValueEnum;
import com.google.gson.Gson;


/**
 * 登录信息
 */
public class SPUserInfoUtil {
    private static final String SP_NAME = "userInfo";
    public static final String BEARER = "Bearer ";
    private final SPUtils mSPUtils = SPUtils.newInstance(SP_NAME);

    private static class Holder {
        private static final SPUserInfoUtil INSTANCE = new SPUserInfoUtil();
    }

    public static SPUserInfoUtil getInstance() {
        return Holder.INSTANCE;
    }

//    private SPUserInfoUtil() {
//        mIsLogin = mSPUtils.get(KEY_USER_ISLOGIN, mIsLogin);
//
//    }

    /**
     * Token
     */
//    public void setUserToken(String userToken) {
//        mSPUtils.save(KEY_USER_TOKEN, userToken);
//    }
//
//    public String getUserToken() {
//        return mSPUtils.get(KEY_USER_TOKEN, "");
//    }
//
//    public void setUserLogin(boolean isLogin) {
//        mIsLogin = isLogin;
//        mSPUtils.save(KEY_USER_ISLOGIN, isLogin);
//    }
//
//    public boolean isUserLogin() {
//        return mIsLogin;
//    }

    /**
     * 用户信息
     */
    public void setUserInfo(UserInfoBean infoModel) {
        mSPUtils.save(ValueEnum.VALUE_ENUM_USERINFO, new Gson().toJson(infoModel));
    }

    public UserInfoBean getUserInfo() {
        return Convert.fromJson(mSPUtils.get(ValueEnum.VALUE_ENUM_USERINFO, ""), UserInfoBean.class);
    }

    /**
     * getLoginUserInfoBean,获取用户基本信息
     */
//    public LoginUserInfoBean getLoginUserInfoBean() {
//        LoginUserInfoBean infoModel = Convert.fromJson(mSPUtils.get(KEY_USER_INFO_BEAN, ""), LoginUserInfoBean.class);
//        return infoModel;
//    }

//    public void setLoginUserInfoBean(LoginUserInfoBean infoModel) {
//        mSPUtils.save(KEY_USER_INFO_BEAN, new Gson().toJson(infoModel));
//    }
//
//
//    public void setMineInfoVO(MineInfoVO username) {
//        mSPUtils.save(MINE_INFO, new Gson().toJson(username));
//
//    }

//    public MineInfoVO getMineInfoVO() {
//        return Convert.fromJson(mSPUtils.get(MINE_INFO, ""), MineInfoVO.class);
//    }


//    public void setAppStuDetail(AppStuDetail username) {
//        mSPUtils.save(APP_STU_DETAIL, new Gson().toJson(username));
//
//    }
//
//    public AppStuDetail getAppStuDetail() {
//        return Convert.fromJson(mSPUtils.get(APP_STU_DETAIL, ""), AppStuDetail.class);
//    }


    // 保存用户登录的时间戳
//    public void setUserLoginTime(long username) {
//        mSPUtils.save(KEY_USER_LOGIN_TIME, username);
//    }

    // 获取用户登录的时间戳
//    public long getUserLoginTime() {
//        return (long)mSPUtils.get(KEY_USER_LOGIN_TIME, 0l);
//    }


    public void clear() {
        mSPUtils.clear();
    }
}
